User interfaces of computer applications often provide numerous commands or user interface tools for a user to choose from. For instance, many applications include drop-down menus. Such menus often include lists of commands. There are standard commands such as opening a file, printing a document, saving a document, etc., as well as more application-specific commands such as inserting a page break (for a word-processing application), formatting cells (for a spreadsheet application), etc.
Many applications also include toolbars or tool palettes. For instance, many computing applications have one or more rows of toolbars at the top of their user interface. The toolbars include various types of tools. Drawing applications have drawing tools, video editing applications have video-editing tools, etc. Some applications also have floating tool palettes. For instance, some video-editing applications include a floating trim tool palette that allows a user to select between various different trim tools for video-editing.
Such toolbars, tool palettes and drop-down menus can take up valuable real estate in the graphical user interface. Furthermore, the number of items in such menus and toolbars is limited by screen space. For example, a user does not want a floating tool palette that takes up too much of the screen. As more options are added to a tool palette, the tool palette must get larger or the size of the options must get smaller. Just as the tool palettes can only increase in size to a certain point, the size of the options can only decrease to a certain point before they become indistinguishable. As such, a need exists for ways to display toolbars or menus that do not take up significant amounts of screen space while keeping the options at a visually recognizable size.